package com.day09.test;

// 直接写的{}叫普通代码块，加了static{}的叫静态代码块，无论是哪种都会在创建对象的时候被调用
// static的优先于普通的，所以static代码块会早于普通代码块执行，普通代码块会早于构造方法执行，构造方法最后。
// static的和普通的代码块都可以写多个，但是调用的时候按照写在上面的先执行写在下面的后执行来排列顺序。
public class Person {
    private String name;
    private int age;

//    static{
//        System.out.println("2");
//    }

    // 静态代码块
    static{
        // System.out.println("1");
        System.out.println("in Father static{}");
    }

//    {
//        System.out.println("4");
//    }

    // 代码块
    {
       // System.out.println("3");
        System.out.println("in Father {}");
    }



    public Person(){
       // System.out.println("5");
        System.out.println("in Father 构造方法");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void sayHello(){
        System.out.println("你好");
    }
}
